Serveur d'exploration sur la recherche en informatique en Lorraine

Attention, ce site est en cours de développement !
Attention, site généré par des moyens informatiques à partir de corpus bruts.
Les informations ne sont donc pas validées.

Presburger Arithmetic in Memory Access Optimization for Data-Parallel Languages

Identifieur interne : 001512 ( Main/Exploration ); précédent : 001511; suivant : 001513

Presburger Arithmetic in Memory Access Optimization for Data-Parallel Languages

Auteurs : Ralf Karrenberg [Allemagne] ; Marek Košta [Allemagne] ; Thomas Sturm [Allemagne]

Source :

RBID : ISTEX:50BFA42D4BE590F6051D477523C174E311104AA3

Abstract

Abstract: Data-parallel languages like OpenCL and CUDA are an important means to exploit the computational power of today’s computing devices. We consider the compilation of such languages for CPUs with SIMD instruction sets. To generate efficient code, one wants to statically decide whether or not certain memory operations access consecutive addresses. We formalize the notion of consecutivity and algorithmically reduce the static decision to satisfiability problems in Presburger Arithmetic. We introduce a preprocessing technique on these SMT problems, which makes it feasible to apply an off-the-shelf SMT solver. We show that a prototypical OpenCL CPU driver based on our approach generates more efficient code than any other state-of-the-art driver.

Url:
DOI: 10.1007/978-3-642-40885-4_5


Affiliations:


Links toward previous steps (curation, corpus...)


Le document en format XML

<record>
<TEI wicri:istexFullTextTei="biblStruct">
<teiHeader>
<fileDesc>
<titleStmt>
<title xml:lang="en">Presburger Arithmetic in Memory Access Optimization for Data-Parallel Languages</title>
<author>
<name sortKey="Karrenberg, Ralf" sort="Karrenberg, Ralf" uniqKey="Karrenberg R" first="Ralf" last="Karrenberg">Ralf Karrenberg</name>
</author>
<author>
<name sortKey="Kosta, Marek" sort="Kosta, Marek" uniqKey="Kosta M" first="Marek" last="Košta">Marek Košta</name>
</author>
<author>
<name sortKey="Sturm, Thomas" sort="Sturm, Thomas" uniqKey="Sturm T" first="Thomas" last="Sturm">Thomas Sturm</name>
</author>
</titleStmt>
<publicationStmt>
<idno type="wicri:source">ISTEX</idno>
<idno type="RBID">ISTEX:50BFA42D4BE590F6051D477523C174E311104AA3</idno>
<date when="2013" year="2013">2013</date>
<idno type="doi">10.1007/978-3-642-40885-4_5</idno>
<idno type="url">https://api.istex.fr/ark:/67375/HCB-1PXKFMMF-8/fulltext.pdf</idno>
<idno type="wicri:Area/Istex/Corpus">001297</idno>
<idno type="wicri:explorRef" wicri:stream="Istex" wicri:step="Corpus" wicri:corpus="ISTEX">001297</idno>
<idno type="wicri:Area/Istex/Curation">001280</idno>
<idno type="wicri:Area/Istex/Checkpoint">000138</idno>
<idno type="wicri:explorRef" wicri:stream="Istex" wicri:step="Checkpoint">000138</idno>
<idno type="wicri:doubleKey">0302-9743:2013:Karrenberg R:presburger:arithmetic:in</idno>
<idno type="wicri:source">HAL</idno>
<idno type="RBID">Hal:hal-00931954</idno>
<idno type="url">https://hal.inria.fr/hal-00931954</idno>
<idno type="wicri:Area/Hal/Corpus">003C81</idno>
<idno type="wicri:Area/Hal/Curation">003C81</idno>
<idno type="wicri:Area/Hal/Checkpoint">000F24</idno>
<idno type="wicri:explorRef" wicri:stream="Hal" wicri:step="Checkpoint">000F24</idno>
<idno type="wicri:Area/Main/Merge">001524</idno>
<idno type="wicri:Area/Main/Curation">001512</idno>
<idno type="wicri:Area/Main/Exploration">001512</idno>
</publicationStmt>
<sourceDesc>
<biblStruct>
<analytic>
<title level="a" type="main" xml:lang="en">Presburger Arithmetic in Memory Access Optimization for Data-Parallel Languages</title>
<author>
<name sortKey="Karrenberg, Ralf" sort="Karrenberg, Ralf" uniqKey="Karrenberg R" first="Ralf" last="Karrenberg">Ralf Karrenberg</name>
<affiliation wicri:level="3">
<country xml:lang="fr">Allemagne</country>
<wicri:regionArea>Saarland University, 66123, Saarbrücken</wicri:regionArea>
<placeName>
<region type="land" nuts="2">Sarre (Land)</region>
<settlement type="city">Sarrebruck</settlement>
</placeName>
</affiliation>
<affiliation wicri:level="1">
<country wicri:rule="url">Allemagne</country>
</affiliation>
</author>
<author>
<name sortKey="Kosta, Marek" sort="Kosta, Marek" uniqKey="Kosta M" first="Marek" last="Košta">Marek Košta</name>
<affiliation wicri:level="3">
<country xml:lang="fr">Allemagne</country>
<wicri:regionArea>Max-Planck-Institut für Informatik, 66123, Saarbrücken</wicri:regionArea>
<placeName>
<region type="land" nuts="2">Sarre (Land)</region>
<settlement type="city">Sarrebruck</settlement>
</placeName>
</affiliation>
<affiliation wicri:level="1">
<country wicri:rule="url">Allemagne</country>
</affiliation>
</author>
<author>
<name sortKey="Sturm, Thomas" sort="Sturm, Thomas" uniqKey="Sturm T" first="Thomas" last="Sturm">Thomas Sturm</name>
<affiliation wicri:level="3">
<country xml:lang="fr">Allemagne</country>
<wicri:regionArea>Max-Planck-Institut für Informatik, 66123, Saarbrücken</wicri:regionArea>
<placeName>
<region type="land" nuts="2">Sarre (Land)</region>
<settlement type="city">Sarrebruck</settlement>
</placeName>
</affiliation>
<affiliation wicri:level="1">
<country wicri:rule="url">Allemagne</country>
</affiliation>
</author>
</analytic>
<monogr></monogr>
<series>
<title level="s" type="main" xml:lang="en">Lecture Notes in Computer Science</title>
<idno type="ISSN">0302-9743</idno>
<idno type="eISSN">1611-3349</idno>
<idno type="ISSN">0302-9743</idno>
</series>
</biblStruct>
</sourceDesc>
<seriesStmt>
<idno type="ISSN">0302-9743</idno>
</seriesStmt>
</fileDesc>
<profileDesc>
<textClass></textClass>
</profileDesc>
</teiHeader>
<front>
<div type="abstract" xml:lang="en">Abstract: Data-parallel languages like OpenCL and CUDA are an important means to exploit the computational power of today’s computing devices. We consider the compilation of such languages for CPUs with SIMD instruction sets. To generate efficient code, one wants to statically decide whether or not certain memory operations access consecutive addresses. We formalize the notion of consecutivity and algorithmically reduce the static decision to satisfiability problems in Presburger Arithmetic. We introduce a preprocessing technique on these SMT problems, which makes it feasible to apply an off-the-shelf SMT solver. We show that a prototypical OpenCL CPU driver based on our approach generates more efficient code than any other state-of-the-art driver.</div>
</front>
</TEI>
<affiliations>
<list>
<country>
<li>Allemagne</li>
</country>
<region>
<li>Sarre (Land)</li>
</region>
<settlement>
<li>Sarrebruck</li>
</settlement>
</list>
<tree>
<country name="Allemagne">
<region name="Sarre (Land)">
<name sortKey="Karrenberg, Ralf" sort="Karrenberg, Ralf" uniqKey="Karrenberg R" first="Ralf" last="Karrenberg">Ralf Karrenberg</name>
</region>
<name sortKey="Karrenberg, Ralf" sort="Karrenberg, Ralf" uniqKey="Karrenberg R" first="Ralf" last="Karrenberg">Ralf Karrenberg</name>
<name sortKey="Kosta, Marek" sort="Kosta, Marek" uniqKey="Kosta M" first="Marek" last="Košta">Marek Košta</name>
<name sortKey="Kosta, Marek" sort="Kosta, Marek" uniqKey="Kosta M" first="Marek" last="Košta">Marek Košta</name>
<name sortKey="Sturm, Thomas" sort="Sturm, Thomas" uniqKey="Sturm T" first="Thomas" last="Sturm">Thomas Sturm</name>
<name sortKey="Sturm, Thomas" sort="Sturm, Thomas" uniqKey="Sturm T" first="Thomas" last="Sturm">Thomas Sturm</name>
</country>
</tree>
</affiliations>
</record>

Pour manipuler ce document sous Unix (Dilib)

EXPLOR_STEP=$WICRI_ROOT/Wicri/Lorraine/explor/InforLorV4/Data/Main/Exploration
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 001512 | SxmlIndent | more

Ou

HfdSelect -h $EXPLOR_AREA/Data/Main/Exploration/biblio.hfd -nk 001512 | SxmlIndent | more

Pour mettre un lien sur cette page dans le réseau Wicri

{{Explor lien
   |wiki=    Wicri/Lorraine
   |area=    InforLorV4
   |flux=    Main
   |étape=   Exploration
   |type=    RBID
   |clé=     ISTEX:50BFA42D4BE590F6051D477523C174E311104AA3
   |texte=   Presburger Arithmetic in Memory Access Optimization for Data-Parallel Languages
}}

Wicri

This area was generated with Dilib version V0.6.33.
Data generation: Mon Jun 10 21:56:28 2019. Site generation: Fri Feb 25 15:29:27 2022